library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity static is
    Port( 
		clk			: in std_logic;
		reset			: in std_logic;
		--begin FFT512 ports
		static_in_im512		: in std_logic_vector(7 downto 0);
		static_in_re512	   : in std_logic_vector(7 downto 0);
		static_out_im512		: out std_logic_vector(7 downto 0);
		static_out_re512	   : out std_logic_vector(7 downto 0);
		--end FFT512 ports
		
		--begin FFT256 ports
		static_in_im256		: in std_logic_vector(7 downto 0);
		static_in_re256	   : in std_logic_vector(7 downto 0);
		static_out_im256		: out std_logic_vector(7 downto 0);
		static_out_re256	   : out std_logic_vector(7 downto 0);
		--end FFT256 ports
		
		--begin FFT128 ports
		static_in_im128		: in std_logic_vector(7 downto 0);
		static_in_re128	   : in std_logic_vector(7 downto 0);
		static_out_im128		: out std_logic_vector(7 downto 0);
		static_out_re128	   : out std_logic_vector(7 downto 0)
		--end FFT128 ports
		
		
		);
end static;

architecture Behavioral of static is


signal in_static_out_im512_s : std_logic_vector(7 downto 0) := (others => '0');
signal in_static_out_re512_s : std_logic_vector(7 downto 0) := (others => '0');

signal in_static_out_im256_s : std_logic_vector(7 downto 0) := (others => '0');
signal in_static_out_re256_s : std_logic_vector(7 downto 0) := (others => '0');

signal in_static_out_im128_s : std_logic_vector(7 downto 0) := (others => '0');
signal in_static_out_re128_s : std_logic_vector(7 downto 0) := (others => '0');


begin

process(clk, reset)
begin
	if (reset = '1') then
		
		in_static_out_im512_s	 	<= (others => '0');
		in_static_out_re512_s	 	<= (others => '0');
		
		in_static_out_im256_s	 	<= (others => '0');
		in_static_out_re256_s	 	<= (others => '0');
		
		in_static_out_im128_s	 	<= (others => '0');
		in_static_out_re128_s	 	<= (others => '0');
		
		
		
		
	elsif clk='1' and clk'event then
	
		in_static_out_im512_s	<= static_in_im512+1;
		in_static_out_re512_s	<= static_in_re512+1;
		
		in_static_out_im256_s	<= static_in_im256+1;
		in_static_out_re256_s	<= static_in_re256+1;
		
		in_static_out_im128_s	<= static_in_im128+1;
		in_static_out_re128_s	<= static_in_re128+1;
		
		
		
	end if;
end process;

static_out_im512	<= in_static_out_im512_s;
static_out_re512	<= in_static_out_re512_s;

static_out_im256	<= in_static_out_im256_s;
static_out_re256	<= in_static_out_re256_s;

static_out_im128	<= in_static_out_im128_s;
static_out_re128	<= in_static_out_re128_s;


end Behavioral;